package com.chenfan.mcn.model.vo;

import com.chenfan.mcn.clients.baseinfo.BaseCustomerAccountVO;
import com.chenfan.mcn.enums.AnnualRebateApprovalEnum;
import com.chenfan.mcn.enums.ArchivingStatusEnum;
import com.chenfan.mcn.model.AnnualRebateApproval;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;
import java.util.Objects;

/**
 * @Author liuyang
 * @Date 2021/3/3
 * @Time 17:41
 * @Version V1.0
 **/
@EqualsAndHashCode(callSuper = true)
@Data
public class AnnualRebateInfo extends AnnualRebateApproval {

    /**
     * 账户信息
     */
    BaseCustomerAccountVO baseCustomerAccount;

    /**
     * 优惠价格梯度
     */
    List<PlatformDiscountRangeVO> rangeList;

    /**
     * 执行单
     */
    private List<AnnualRebateExcutionOrderVO> excutionOrderList;

    /**
     * 政策时效开始时间
     */
    private String startDate;

    /**
     * 政策时效结束时间
     */
    private String endDate;

    /**
     * 优惠形式:0_仅频台返点,1_年度优惠含平台返点,2_年度优惠不含平台返点,3_仅年度优惠
     */
    private Integer discountType;

    /**
     * 年框合同编号
     */
    private String yearContractCode;

    /**
     * 收款户名
     */
    private String payeeAccountName;

    /**
     * 客户名称
     */
    private String customerName;

    /**
     * 流程id
     */
    private Long flowId;

    /**
     * 审批流程全部节点
     */
    private String flowIds;

    /**
     * 流程节点名称
     */
    private String flowStatusName;

    /**
     * 单据状态名称
     */
    private String approvalStatusName;

    /**
     * 我司合同主体
     */
    private String companyContractSubject;

    public String getApprovalStatusName() {
        if (Objects.nonNull(getApprovalStatus())) {
            return AnnualRebateApprovalEnum.getStatusName(getApprovalStatus());
        }
        return null;
    }

    /**
     * 归档状态名称
     */
    private String archivingStatusName;

    public String getArchivingStatusName() {
        if (Objects.nonNull(getArchivingStatus())) {
            return ArchivingStatusEnum.getStatusName(getArchivingStatus());
        }
        return null;
    }

}
